package com.example.exam.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * <p>
 *
 * </p>
 *
 * @author 江晨晖
 * @since 2022-12-15
 */
@Data
@TableName("topic")
@ApiModel(value = "Topic对象", description = "")
public class Topic implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("题目id")
    @TableId(value = "topic_id", type = IdType.AUTO)
    private Integer topicId;

    @ApiModelProperty("创建者id")
    @TableField("creator_id")
    private Integer creatorId;

    @ApiModelProperty("科目类型id")
    @TableField("subject_id")
    private Integer subjectId;

    @ApiModelProperty("科目类型名称")
    @TableField("subject_name")
    private String subjectName;

    @ApiModelProperty("题目")
    @TableField("question")
    private String question;

    @ApiModelProperty("选项")
    @TableField("choice")
    private String choice;

    @ApiModelProperty("图片")
    @TableField("photo")
    private String photo;

    @ApiModelProperty("题目类型  0:单选题 1:多选题 2:判断题 3:填空题 4:简答题")
    @TableField("topic_type")
    private Integer topicType;

    @ApiModelProperty("正确答案")
    @TableField("correct_answer")
    private String correctAnswer;

    @ApiModelProperty("分数")
    @TableField("score")
    private Float score;

    @ApiModelProperty("难度  简单,中等(默认),困难")
    @TableField("difficulty")
    private String difficulty;

    @ApiModelProperty("答案分析")
    @TableField("analysis")
    private String analysis;

    @ApiModelProperty("非必填:0   必填:1")
    @TableField("required")
    private Integer required;

    @ApiModelProperty("创建时间")
    @TableField("create_date")
    private Date createDate;

    @ApiModelProperty("修改时间")
    @TableField("update_date")
    private Date updateDate;


}